package com.zc.hadoop.RPC;

import java.io.IOException;

import org.apache.hadoop.HadoopIllegalArgumentException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.ipc.RPC;
import org.apache.hadoop.ipc.RPC.Server;

public class RpcServer implements IHello {

	// 服务端自有的方法
	@Override
	public String hello(String name) {
		return "Hello " + name;
	}

	// 服务端主函数
	public static void main(String[] args) {
		try {
			// 服务端配置的设置
			Server server = new RPC.Builder(new Configuration()).setPort(10888) // 设置端口
					.setProtocol(IHello.class) // 设置 以接口为协议
					.setInstance(new RpcServer()) // 实例化服务端
					.setBindAddress("localhost") // 设置主机
					.build(); // 建立连接

			// 服务启动
			server.start();
		} catch (HadoopIllegalArgumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}
